home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / text / dtp / Notes1.3.lha / Notes / deutsch / Noten.pprx < prev    next >
Text File  |  1999-02-18  |  19KB  |  695 lines

  1. /*
  2. @B Noten V.1.2 @P@ICopyright A.Faust 99
  3. dieses Genie zeichnet Notenlinien und Noten
  4. */
  5.  
  6. /* History
  7.  
  8. Version 1.1. (2.2.99)
  9.    -einige Fehler in den #?.file Files beseitigt
  10.    -die Notation im Notenfile geändert
  11.     (wenn Auflösungszeichen - "a" - dann die gleiche
  12.      Notation in einer Zeile wie in allen anderen Fällen)
  13.  
  14. Version 1.2  (10.2.99)
  15.    -Fehler bei der Eingabe von B-Vorzeichen beseitigt (z.B."AB3")
  16.    -Vorzeichenroutine vereinfacht
  17.    -Möglichkeit für einfache Notenliniensysteme mit nur einem
  18.     Notenschlüssel (Bindfadenstimme)
  19.    -Zusammenfassung mehrerer Abfragen in einem Requester
  20.    -Erweiterung des Bereiches im Violinschlüssel
  21.  
  22. Version 1.3 (18.2.99)
  23.    -Fehler in den Bass#? Files beseitigt
  24. */
  25.  
  26.  
  27. address command
  28.  
  29. 'execute C:AssignNotenDruck'
  30.  
  31.  
  32. /* Das File "AssignNotenDruck"  im C: Verzeichnis muß mit einem normalen
  33.    Texteditor erstellt werden, und legt fest, wo die Notenfiles
  34.    gespeichert sind. Das macht die Auswahl später einfacher.
  35.    Das Genie sucht zuerst im festgelegten Verzeichnis "Noten:"
  36.  
  37.    z.B.
  38.    assign Noten: Work:MeinNotenFileVerzeichnis
  39.  
  40.    Als zweite Zeile MUSS ein Assign für das Genie-Verzeichnis von Propage
  41.    gesetzt werden.
  42.  
  43.    z.B.
  44.    assign Genies: DTP:ProPage/ARexx
  45.  
  46. */
  47.  
  48. call SafeEndEdit.rexx()
  49. call ppm_AutoUpdate(0)
  50. call ppm_SetWireframe(0)
  51. notex=0
  52. notey=0
  53. call ppm_SetLineWeight(0.25)
  54. call ppm_SetMagMode(300)
  55. call ppm_SetBoxOutlines(0)
  56.  
  57. signal on halt
  58. signal on break_c
  59. signal on break_e
  60. signal on break_d
  61.  
  62.  
  63. start:
  64. do
  65.   neu = ppm_GetUserText(2, "Neubeginn? (ALLES WIRD GELÖSCHT !!!!) Nichts=ABBRUCH j/n")
  66.     if neu == "J" then neu = "j"
  67.     if neu == "N" then neu = "n"
  68.  
  69.   select
  70.     when neu == "j" then
  71.         do
  72.         sicher =
  73.         call ppm_New()
  74.         call ppm_SetUnits(2)
  75.         call ppm_SetMagMode(200)
  76.         call ppm_SetFont('(CG)Times')
  77.         pgnm = ppm_CreatePage(1, 1, 0)
  78.         call ppm_SetPageType(pgnm, 4)
  79.         call ppm_SetRulerType(4)
  80.         call ppm_SetBoxLock(0, 0)
  81.         call ppm_DeleteBox(0)
  82.  
  83.         /* Kopfzeile */
  84.  
  85.         haedln = ppm_CreateBox(4, 0.2, 11.5, 1.2, 0)
  86.         call ppm_SetSize(20)
  87.         call ppm_SetStyle(U)
  88.         call ppm_SetJustification(2)
  89.         call ppm_TextIntoBox(haedln, 'Text')
  90.         end
  91.     when neu == "n" then notenlinien()
  92.     otherwise exit_msg("ABBRUCH!")
  93.   end
  94.  
  95. notenlinien:
  96.   cr = '0a'x
  97.   form = "Notenlinien ?  (j/n):j"cr"2/1 System (2/1v/1b):2"cr"Vorzeichen  (1#=1 #):"cr"Taktart    (4/4=4 4):4 4"cr"V_iol/B_aß   [F_ile]:v"
  98.   eingabe = ppm_GetForm("Bitte eingeben ...             ", 5, form)
  99.   parse var eingabe res '0a'x systemart '0a'x vorz '0a'x takt '0a'x violbass
  100.   if systemart == '1B' then systemart = '1b'
  101.   if systemart == '1V' then systemart = '1v'
  102.   if res == '' then res = 'j'
  103.   if res == 'J' then res = 'j'
  104.   if res == 'j' then
  105.   do
  106.  
  107.         call ppm_SetUnits(2)
  108.         call ppm_SetMagMode(200)
  109.         call ppm_SetFont('(CG)Times')
  110.         pgnm = ppm_CurrentPage()
  111.         call ppm_SetPageType(pgnm, 4)
  112.         call ppm_SetRulerType(4)
  113.         call ppm_SetBoxLock(0, 0)
  114.         call ppm_DeleteBox(0)
  115.  
  116.         /* Kopfzeile */
  117.  
  118.         haedln = ppm_CreateBox(4, 0.2, 11.5, 1.2, 0)
  119.         call ppm_SetSize(20)
  120.         call ppm_SetStyle(U)
  121.         call ppm_SetJustification(2)
  122.         call ppm_TextIntoBox(haedln, 'Titel')
  123.  
  124.         /* Autor */
  125.  
  126.         autor = ppm_CreateBox(13, 0.9, 6.5, 0.64, 0)
  127.         call ppm_SetSize(12)
  128.         call ppm_SetStyle(U)
  129.         call ppm_SetJustification(1)
  130.         call ppm_TextIntoBox(autor, "Satz: © Autor")
  131.  
  132.  
  133.      /* Notenlinien ziehen */
  134.  
  135.      do a=1 to 12
  136.        do b=1 to 5
  137.           call ppm_DrawLine(0, a*2+((b-1)/5), 19.5, a*2+((b-1)/5))
  138.        end
  139.      end
  140.  
  141.      /* Notenschlüssel und vordere Klammern */
  142.      if systemart == '1v' then
  143.      do
  144.         call ppm_SetFont('(CG)Noten')
  145.  
  146.         violschl = ppm_CreateBox(0, 1.55, 1, 1.6, 0)
  147.         call ppm_SetStyle(N)
  148.         call ppm_SetJustification(0)
  149.         call ppm_SetSize(45)
  150.         call ppm_TextIntoBox(violschl, 't')
  151.  
  152.         do c=1 to 11
  153.           call ppm_CloneBox(violschl, 0, (c*2))
  154.         end
  155.      end
  156.  
  157.      if systemart == '1b' then
  158.      do
  159.         call ppm_SetFont('(CG)Noten')
  160.  
  161.         bassschl = ppm_CreateBox(0.034, 1.88, 1.1, 1.1, 0)
  162.         call ppm_SetStyle(N)
  163.         call ppm_SetJustification(0)
  164.         call ppm_SetSize(30)
  165.         call ppm_TextIntoBox(bassschl, 'b')
  166.  
  167.         do c=1 to 11
  168.           call ppm_CloneBox(bassschl, 0, (c*2))
  169.         end
  170.      end
  171.  
  172.      if systemart == '2' then
  173.      do
  174.         call ppm_SetFont('(CG)Noten')
  175.  
  176.         violschl = ppm_CreateBox(0, 1.55, 1, 1.6, 0)
  177.         call ppm_SetStyle(N)
  178.         call ppm_SetJustification(0)
  179.         call ppm_SetSize(45)
  180.         call ppm_TextIntoBox(violschl, 't')
  181.  
  182.         bassschl = ppm_CreateBox(0.034, 3.88, 1.1, 1.1, 0)
  183.         call ppm_SetSize(30)
  184.         call ppm_TextIntoBox(bassschl, 'b')
  185.  
  186.         call ppm_SetLineWeight(4)
  187.         vl = ppm_DrawLine(0, 1.98, 0, 4.82)
  188.  
  189.         call ppm_SetLineWeight(2)
  190.         vo = ppm_DrawLine(-0.07, 2.08, 0.303, 1.7627)
  191.         vu = ppm_DrawLine(-0.07, 4.74, 0.303, 5.052)
  192.  
  193.         do c=1 to 5
  194.           call ppm_CloneBox(violschl, 0, (c*4))
  195.           call ppm_CloneBox(bassschl, 0, (c*4))
  196.           call ppm_CloneBox(vl, 0, (c*4))
  197.           call ppm_CloneBox(vo, 0, (c*4))
  198.           call ppm_CloneBox(vu, 0, (c*4))
  199.         end
  200.      end
  201.      vorzeichen()
  202.   end
  203.   else
  204.   do
  205.    if res == 'N' then res = 'n'
  206.    if res == 'n' then vorzeichen()
  207.    else start()
  208.   end
  209. end
  210.  
  211. noteneingabe:
  212.  if violbass == '' then notenlinien()
  213.  resa = word(violbass,1)
  214.  resb = word(violbass,2)
  215.  if resa=='V' then resa = 'v'
  216.  if resa=='B' then resa = 'b'
  217.  if resb=='F' then resb = 'f'
  218.  select
  219.    when resa=='v' then violschl()
  220.    when resa=='b' then basschl()
  221.    otherwise noteneingabe()
  222.  end
  223.  
  224. violschl:
  225.  do
  226.  call ppm_SetFont('(CG)Noten')
  227.  select
  228.     when resb='' then
  229.     do
  230.      address command
  231.      rx 'Genies:Violinenschlüssel.rexx'
  232.     end
  233.     when resb='f' then
  234.     do
  235.      address command
  236.      rx 'Genies:Violinenschlüssel.file'
  237.     end
  238.     otherwise noteneingabe()
  239.  end
  240.  exit
  241.  end
  242.  
  243. basschl:
  244.  do
  245.  call ppm_SetFont('(CG)Noten')
  246.  select
  247.     when resb='' then
  248.     do
  249.      address command
  250.      rx 'Genies:Bassschlüssel.rexx'
  251.     end
  252.     when resb='f' then
  253.     do
  254.      address command
  255.      rx 'Genies:Bassschlüssel.file'
  256.     end
  257.     otherwise noteneingabe()
  258.  end
  259.  exit
  260.  end
  261.  
  262. exit
  263.  
  264. vorzeichen:
  265.  
  266. if vorz == "" then
  267. do
  268.   k = 0
  269.   takt()
  270. end
  271.  
  272. else
  273. do
  274.    call ppm_SetFont('(CG)Noten')
  275.    call ppm_SetSize(20)
  276.    zahl = word(vorz, 1)
  277.    if zahl >6 then vorzeichen()
  278.    art  = word(vorz, 2)
  279.    if art == 'B' then art = 'b'
  280.    yy = 0.28
  281.    j = 0
  282.    k = zahl
  283.  select
  284.    when art == 'b' then
  285.    do
  286.    art = 'f'
  287.       if systemart == '2' then
  288.       do
  289.         do i=1 to 6
  290.            if zahl== 1 then
  291.              do
  292.                call vorzeichenbox 1, (1.95+j)
  293.                call vorzeichenbox 1, (4.15+j)
  294.              end
  295.  
  296.            if zahl == 2 then
  297.              do
  298.                call vorzeichenbox 1, (1.95+j)
  299.                call vorzeichenbox 1, (4.15+j)
  300.                call vorzeichenbox 1.2, (1.65+j)
  301.                call vorzeichenbox 1.2, (3.85+j)
  302.              end
  303.  
  304.            if zahl == 3 then
  305.              do
  306.                call vorzeichenbox 1, (1.95+j)
  307.                call vorzeichenbox 1, (4.15+j)
  308.                call vorzeichenbox 1.2, (1.65+j)
  309.                call vorzeichenbox 1.2, (3.85+j)
  310.                call vorzeichenbox 1.4, (2.05+j)
  311.                call vorzeichenbox 1.4, (4.25+j)
  312.              end
  313.  
  314.            if zahl == 4 then
  315.              do
  316.              call vorzeichenbox 1, (1.95+j)
  317.              call vorzeichenbox 1, (4.15+j)
  318.              call vorzeichenbox 1.2, (1.65+j)
  319.              call vorzeichenbox 1.2, (3.85+j)
  320.              call vorzeichenbox 1.4, (2.05+j)
  321.              call vorzeichenbox 1.4, (4.25+j)
  322.              call vorzeichenbox 1.6, (1.75+j)
  323.              call vorzeichenbox 1.6, (3.95+j)
  324.              end
  325.  
  326.            if zahl == 5 then
  327.              do
  328.              call vorzeichenbox 1, (1.95+j)
  329.              call vorzeichenbox 1, (4.15+j)
  330.              call vorzeichenbox 1.2, (1.65+j)
  331.              call vorzeichenbox 1.2, (3.85+j)
  332.              call vorzeichenbox 1.4, (2.05+j)
  333.              call vorzeichenbox 1.4, (4.25+j)
  334.              call vorzeichenbox 1.6, (1.75+j)
  335.              call vorzeichenbox 1.6, (3.95+j)
  336.              call vorzeichenbox 1.8, (2.15+j)
  337.              call vorzeichenbox 1.8, (4.35+j)
  338.              end
  339.  
  340.            if zahl == 6 then
  341.              do
  342.                call vorzeichenbox 1, (1.95+j)
  343.                call vorzeichenbox 1, (4.15+j)
  344.                call vorzeichenbox 1.2, (1.65+j)
  345.                call vorzeichenbox 1.2, (3.85+j)
  346.                call vorzeichenbox 1.4, (2.05+j)
  347.                call vorzeichenbox 1.4, (4.25+j)
  348.                call vorzeichenbox 1.6, (1.75+j)
  349.                call vorzeichenbox 1.6, (3.95+j)
  350.                call vorzeichenbox 1.8, (2.15+j)
  351.                call vorzeichenbox 1.8, (4.35+j)
  352.                call vorzeichenbox 2.0, (1.85+j)
  353.                call vorzeichenbox 2.0, (4.05+j)
  354.              end
  355.            j=j+4
  356.         end
  357.       end
  358.       if systemart == '1b' then
  359.       do
  360.         do i=1 to 12
  361.            if zahl== 1 then
  362.              do
  363.                call vorzeichenbox 1, (2.15+j)
  364.              end
  365.  
  366.            if zahl == 2 then
  367.              do
  368.                call vorzeichenbox 1, (2.15+j)
  369.                call vorzeichenbox 1.2, (1.85+j)
  370.              end
  371.  
  372.            if zahl == 3 then
  373.              do
  374.                call vorzeichenbox 1, (2.15+j)
  375.                call vorzeichenbox 1.2, (1.85+j)
  376.                call vorzeichenbox 1.4, (2.25+j)
  377.              end
  378.  
  379.            if zahl == 4 then
  380.              do
  381.                call vorzeichenbox 1, (2.15+j)
  382.                call vorzeichenbox 1.2, (1.85+j)
  383.                call vorzeichenbox 1.4, (2.25+j)
  384.                call vorzeichenbox 1.6, (1.95+j)
  385.              end
  386.  
  387.            if zahl == 5 then
  388.              do
  389.                call vorzeichenbox 1, (2.15+j)
  390.                call vorzeichenbox 1.2, (1.85+j)
  391.                call vorzeichenbox 1.4, (2.25+j)
  392.                call vorzeichenbox 1.6, (1.95+j)
  393.                call vorzeichenbox 1.8, (2.35+j)
  394.              end
  395.  
  396.            if zahl == 6 then
  397.              do
  398.                call vorzeichenbox 1, (2.15+j)
  399.                call vorzeichenbox 1.2, (1.85+j)
  400.                call vorzeichenbox 1.4, (2.25+j)
  401.                call vorzeichenbox 1.6, (1.95+j)
  402.                call vorzeichenbox 1.8, (2.35+j)
  403.                call vorzeichenbox 2.0, (2.05+j)
  404.              end
  405.            j=j+2
  406.         end
  407.       end
  408.       if systemart == '1v' then
  409.       do
  410.        do i=1 to 12
  411.           if zahl== 1 then
  412.             do
  413.               call vorzeichenbox 1, (1.95+j)
  414.             end
  415.  
  416.           if zahl == 2 then
  417.             do
  418.               call vorzeichenbox 1, (1.95+j)
  419.               call vorzeichenbox 1.2, (1.65+j)
  420.             end
  421.  
  422.           if zahl == 3 then
  423.             do
  424.               call vorzeichenbox 1, (1.95+j)
  425.               call vorzeichenbox 1.2, (1.65+j)
  426.               call vorzeichenbox 1.4, (2.05+j)
  427.             end
  428.  
  429.           if zahl == 4 then
  430.             do
  431.             call vorzeichenbox 1, (1.95+j)
  432.             call vorzeichenbox 1.2, (1.65+j)
  433.             call vorzeichenbox 1.4, (2.05+j)
  434.             call vorzeichenbox 1.6, (1.75+j)
  435.             end
  436.  
  437.           if zahl == 5 then
  438.             do
  439.             call vorzeichenbox 1, (1.95+j)
  440.             call vorzeichenbox 1.2, (1.65+j)
  441.             call vorzeichenbox 1.4, (2.05+j)
  442.             call vorzeichenbox 1.6, (1.75+j)
  443.             call vorzeichenbox 1.8, (2.15+j)
  444.             end
  445.  
  446.           if zahl == 6 then
  447.             do
  448.               call vorzeichenbox 1, (1.95+j)
  449.               call vorzeichenbox 1.2, (1.65+j)
  450.               call vorzeichenbox 1.4, (2.05+j)
  451.               call vorzeichenbox 1.6, (1.75+j)
  452.               call vorzeichenbox 1.8, (2.15+j)
  453.               call vorzeichenbox 2.0, (1.85+j)
  454.             end
  455.           j=j+2
  456.        end
  457.       end
  458.    end
  459.  
  460.    when art == '#' then
  461.    do
  462.    art = 's'
  463.        if systemart == '2' then
  464.        do
  465.          do i=1 to 6
  466.             if zahl == 1 then
  467.               do
  468.                 call vorzeichenbox 1, (1.67+j)
  469.                 call vorzeichenbox 1, (3.87+j)
  470.               end
  471.  
  472.             if zahl == 2 then
  473.               do
  474.                 call vorzeichenbox 1, (1.67+j)
  475.                 call vorzeichenbox 1, (3.87+j)
  476.                 call vorzeichenbox 1.2, (1.97+j)
  477.                 call vorzeichenbox 1.2, (4.17+j)
  478.               end
  479.  
  480.             if zahl == 3 then
  481.               do
  482.                 call vorzeichenbox 1, (1.67+j)
  483.                 call vorzeichenbox 1, (3.87+j)
  484.                 call vorzeichenbox 1.2, (1.97+j)
  485.                 call vorzeichenbox 1.2, (4.17+j)
  486.                 call vorzeichenbox 1.4, (1.57+j)
  487.                 call vorzeichenbox 1.4, (3.77+j)
  488.               end
  489.  
  490.             if zahl == 4 then
  491.               do
  492.                 call vorzeichenbox 1, (1.67+j)
  493.                 call vorzeichenbox 1, (3.87+j)
  494.                 call vorzeichenbox 1.2, (1.97+j)
  495.                 call vorzeichenbox 1.2, (4.17+j)
  496.                 call vorzeichenbox 1.4, (1.57+j)
  497.                 call vorzeichenbox 1.4, (3.77+j)
  498.                 call vorzeichenbox 1.6, (1.87+j)
  499.                 call vorzeichenbox 1.6, (4.07+j)
  500.               end
  501.  
  502.             if zahl == 5 then
  503.               do
  504.                 call vorzeichenbox 1, (1.67+j)
  505.                 call vorzeichenbox 1, (3.87+j)
  506.                 call vorzeichenbox 1.2, (1.97+j)
  507.                 call vorzeichenbox 1.2, (4.17+j)
  508.                 call vorzeichenbox 1.4, (1.57+j)
  509.                 call vorzeichenbox 1.4, (3.77+j)
  510.                 call vorzeichenbox 1.6, (1.87+j)
  511.                 call vorzeichenbox 1.6, (4.07+j)
  512.                 call vorzeichenbox 1.8, (2.17+j)
  513.                 call vorzeichenbox 1.8, (4.37+j)
  514.               end
  515.  
  516.             if zahl == 6 then
  517.               do
  518.                 call vorzeichenbox 1, (1.67+j)
  519.                 call vorzeichenbox 1, (3.87+j)
  520.                 call vorzeichenbox 1.2, (1.97+j)
  521.                 call vorzeichenbox 1.2, (4.17+j)
  522.                 call vorzeichenbox 1.4, (1.57+j)
  523.                 call vorzeichenbox 1.4, (3.77+j)
  524.                 call vorzeichenbox 1.6, (1.87+j)
  525.                 call vorzeichenbox 1.6, (4.07+j)
  526.                 call vorzeichenbox 1.8, (2.17+j)
  527.                 call vorzeichenbox 1.8, (4.37+j)
  528.                 call vorzeichenbox 2.0, (1.77+j)
  529.                 call vorzeichenbox 2.0, (3.97+j)
  530.               end
  531.             j=j+4
  532.          end
  533.        end
  534.        if systemart == '1b' then
  535.        do
  536.          do i=1 to 12
  537.             if zahl == 1 then
  538.               do
  539.                 call vorzeichenbox 1, (1.87+j)
  540.               end
  541.  
  542.             if zahl == 2 then
  543.               do
  544.                 call vorzeichenbox 1, (1.87+j)
  545.                 call vorzeichenbox 1.2, (2.17+j)
  546.               end
  547.  
  548.             if zahl == 3 then
  549.               do
  550.                 call vorzeichenbox 1, (1.87+j)
  551.                 call vorzeichenbox 1.2, (2.17+j)
  552.                 call vorzeichenbox 1.4, (1.77+j)
  553.               end
  554.  
  555.             if zahl == 4 then
  556.               do
  557.                 call vorzeichenbox 1, (1.87+j)
  558.                 call vorzeichenbox 1.2, (2.17+j)
  559.                 call vorzeichenbox 1.4, (1.77+j)
  560.                 call vorzeichenbox 1.6, (2.07+j)
  561.               end
  562.  
  563.             if zahl == 5 then
  564.               do
  565.                 call vorzeichenbox 1, (1.87+j)
  566.                 call vorzeichenbox 1.2, (2.17+j)
  567.                 call vorzeichenbox 1.4, (1.77+j)
  568.                 call vorzeichenbox 1.6, (2.07+j)
  569.                 call vorzeichenbox 1.8, (2.37+j)
  570.               end
  571.  
  572.             if zahl == 6 then
  573.               do
  574.                 call vorzeichenbox 1, (1.87+j)
  575.                 call vorzeichenbox 1.2, (2.17+j)
  576.                 call vorzeichenbox 1.4, (1.77+j)
  577.                 call vorzeichenbox 1.6, (2.07+j)
  578.                 call vorzeichenbox 1.8, (1.37+j)
  579.                 call vorzeichenbox 2.0, (2.97+j)
  580.               end
  581.             j=j+2
  582.          end
  583.        end
  584.        if systemart == '1v' then
  585.        do
  586.          do i=1 to 12
  587.             if zahl == 1 then
  588.               do
  589.                 call vorzeichenbox 1, (1.67+j)
  590.               end
  591.  
  592.             if zahl == 2 then
  593.               do
  594.                 call vorzeichenbox 1, (1.67+j)
  595.                 call vorzeichenbox 1.2, (1.97+j)
  596.               end
  597.  
  598.             if zahl == 3 then
  599.               do
  600.                 call vorzeichenbox 1, (1.67+j)
  601.                 call vorzeichenbox 1.2, (1.97+j)
  602.                 call vorzeichenbox 1.4, (1.57+j)
  603.               end
  604.  
  605.             if zahl == 4 then
  606.               do
  607.                 call vorzeichenbox 1, (1.67+j)
  608.                 call vorzeichenbox 1.2, (1.97+j)
  609.                 call vorzeichenbox 1.4, (1.57+j)
  610.                 call vorzeichenbox 1.6, (1.87+j)
  611.               end
  612.  
  613.             if zahl == 5 then
  614.               do
  615.                 call vorzeichenbox 1, (1.67+j)
  616.                 call vorzeichenbox 1.2, (1.97+j)
  617.                 call vorzeichenbox 1.4, (1.57+j)
  618.                 call vorzeichenbox 1.6, (1.87+j)
  619.                 call vorzeichenbox 1.8, (2.17+j)
  620.               end
  621.  
  622.             if zahl == 6 then
  623.               do
  624.                 call vorzeichenbox 1, (1.67+j)
  625.                 call vorzeichenbox 1.2, (1.97+j)
  626.                 call vorzeichenbox 1.4, (1.57+j)
  627.                 call vorzeichenbox 1.6, (1.87+j)
  628.                 call vorzeichenbox 1.8, (2.17+j)
  629.                 call vorzeichenbox 2.0, (1.77+j)
  630.               end
  631.             j=j+2
  632.          end
  633.        end
  634.    end
  635.    otherwise vorzeichen()
  636.  end
  637. takt()
  638. end
  639.  
  640. takt:
  641. do
  642.  call ppm_SetFont('(CG)Times')
  643.  call ppm_SetSize(16)
  644.  
  645.  if takt ~= '' then
  646.   do
  647.    oben  = WORD(takt, 1)
  648.    unten = WORD(takt, 2)
  649.    if unten == '' then takt()
  650.    id = ppm_CreateBox(1.15+(k*0.2), 2,  0.3, 0.6, 0)
  651.    call ppm_TextIntoBox(id, oben)
  652.    id = ppm_CreateBox(1.15+(k*0.2), 2.4,  0.3, 0.6, 0)
  653.    call ppm_TextIntoBox(id, unten)
  654.    if systemart == '2' then
  655.      do
  656.        id = ppm_CreateBox(1.15+(k*0.2), 4,  0.3, 0.6, 0)
  657.        call ppm_TextIntoBox(id, oben)
  658.        id = ppm_CreateBox(1.15+(k*0.2), 4.4,  0.3, 0.6, 0)
  659.        call ppm_TextIntoBox(id, unten)
  660.      end
  661.   end
  662.  else NOP
  663.  call ppm_SetFont('(CG)Noten')
  664.  call ppm_SetSize(20)
  665.  call ppm_UpdateScreen()
  666.  noteneingabe()
  667. end
  668.  
  669. vorzeichenbox:
  670. do
  671.     parse arg bx,by
  672.     id = ppm_CreateBox(bx, by,  0.35, 0.75, 0)
  673.     call ppm_TextIntoBox(id, art)
  674. return
  675. end
  676.  
  677. break_d:
  678. break_e:
  679. break_c:
  680. halt:
  681.     call exit_msg("User aborted Genie!")
  682.  
  683. exit_msg: procedure
  684. do
  685.     parse arg message
  686.  
  687.     if message ~= '' then
  688.     call ppm_Inform(1,message,)
  689.  
  690.     call ppm_ClearStatus()
  691.     call ppm_AutoUpdate(1)
  692.     exit
  693. end
  694.  
  695.